home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / NEW / V-TPUG Programming Contest / (n)v1.d64 / lander (.txt) < prev    next >
Commodore BASIC  |  2009-01-19  |  3KB  |  85 lines

  1. 100 PRINT"[147]"
  2. 110 PRINT "  * * * LANDER * * *  "
  3. 120 PRINT" THIS IS A SIMULATION":PRINT"OF LANDING A SPACESHIP";
  4. 130 PRINT"ON 1 OF 4 DESTINATIONS":PRINT"IN THE LAST COLUMN YOU";
  5. 140 PRINT" ENTER YOUR FUEL BURN":PRINT"FOR THE NEXT INCREMENT";
  6. 150 PRINT" OF THE DESCENT. FUEL":PRINT" USE IS ACTUALLY TEN"
  7. 160 PRINT"TIMES THE VALUE OF FB":PRINT"THAT YOU ENTER.":PRINT
  8. 170 PRINT"THE COMPUTER WILL FIND";:PRINT"YOUR NEW SITUATION AND";
  9. 180 PRINT"PRINT IT OUT.":PRINT:
  10. 190 PRINT:PRINT:PRINT"PRESS ANY KEY TO BEGIN";
  11. 200 GET NE$:IF NE$="" THEN 200
  12. 210 PRINT "[147]  * * * LANDER * * *  ":PRINT"ENTER";
  13. 220 PRINT" '1' FOR EARTH"
  14. 230 PRINT"";TAB(6);"'2' FOR MOON"
  15. 240 PRINT "";TAB(6);"'3' FOR MARS"
  16. 250 PRINT "";TAB(6);"'4' FOR VESTA"
  17. 260 GET X$
  18. 270 IF X$="1" THEN G1=980.7:A5=6371:A$="EARTH":GOTO 330
  19. 280 IF X$="2" THEN G1=162:A5=1738:A$="MOON":GOTO 330
  20. 290 IF X$="3" THEN G1=374:A5=3380:A$="MARS":GOTO 330
  21. 300 IF X$="4" THEN G1=17.5:A5=195:A$="VESTA":GOTO 330
  22. 310 GOTO 260
  23. 320 PRINT"[147]"
  24. 330 G2=G1/36
  25. 340 G3=SQR(G2)*100:G3=INT(G3):IF G3<175 THEN G3=175
  26. 350 G4=G3*55:G4=INT(G4):IF G4<10000 THEN G4=10000
  27. 360 G5=G4*(LOG(G1)/20)+10000
  28. 370 A1=-6400:A2=5000:A3=15000:A4=10
  29. 380 B4=A4:B2=A2:N3=G3:N4=G4
  30. 390 RC=3:SE=66:SU=(4*(PEEK(36866)AND128)+64*(PEEK(36869)AND112))/256
  31. 400 PRINT "[147]";
  32. 410 PRINT" DIS-  VELO-  FUEL   ":PRINT "TANCE  CITY   LEFT FB":PRINT"                     "
  33. 420 POKE 209,SE:POKE 210,SU:POKE 214,RC:XB$=STR$(N3)
  34. 430 XC$=LEFT$(XB$,5)
  35. 440 XD=VAL(XC$)
  36. 450 PRINT XD;
  37. 460 PRINT TAB(6);
  38. 470 PRINT "[157]";VAL(LEFT$(STR$(B2),6));TAB(19-LEN(STR$(N4)));"[157]";
  39. 480 PRINT INT(N4);
  40. 490 OPEN 1,0:INPUT#1,F:CLOSE1:PRINT CHR$(13);"[145]":RC=PEEK(214):SE=PEEK(209):SU=PEEK(210)
  41. 500 IF F=0 GOTO 530
  42. 510 IF F<0 OR F>99.1 GOTO 650
  43. 520 T=N4/F:IF T<10 THEN B4=T
  44. 530 N4=N4-F*B4
  45. 540 V1=B3
  46. 550 T1=T1+B4
  47. 560 B5=(G2+((G2*N3)/(A5*-2)))-((F*G5)/(A3+N4))
  48. 570 B3=B2+B5*B4
  49. 580 N5=N3
  50. 590 N3=N3+(((B3+B2)/A1)*B4)
  51. 600 B2=B3
  52. 610 IF N3<0 GOTO 720
  53. 620 IF N4<=0 GOTO 680
  54. 630 Q=Q+64:IF Q+128>960 THEN Q=832
  55. 640 GOTO 410
  56. 650 PRINT "[147]ILLEGAL FUEL BURN"
  57. 660 PRINT ,,,,"TRY AGAIN (0 TO 99)"
  58. 670 FOR K= 1 TO 900:NEXT K:GOTO 400
  59. 680 V2=SQR(B2^2+N3*G2*5650):PRINT"OUT OF FUEL AT";INT(T1);"SECONDS"
  60. 690 V3=ABS(V2)*10000/3600
  61. 700 T1=T1+LOG((V3*N3*10000)/G1)
  62. 710 GOTO 740
  63. 720 V2=SQR(ABS(N5/(26*B5)))*(26*B5)+V1:GOTO 740
  64. 730 T1=T1-(10-B4)
  65. 740 GOTO 750
  66. 750 IF V2<20 THEN PRINT "[147]   YOU HAVE LANDED":GOTO 800
  67. 760 IF V2<100 THEN PRINT "[147]   YOU HAVE CRASHED":GOTO 830
  68. 770 IF V2<250 THEN PRINT "[147]YOU'VE BEEN PULVERIZED";:GOTO 860
  69. 780 IF V2<5000 THEN PRINT "[147]";TAB(7);"YOU HAVE":PRINT "   MADE A NEW CRATER":GOTO 860
  70. 790 IF V2>=5000 THEN PRINT "[147]YOU HAVE BORED A HOLE":PRINT"   INTO THE PLANET":GOTO 860
  71. 800 IF V2<1 THEN PRINT " NICE TOUCH-VERY GOOD":GOTO 860
  72. 810 IF V2<5 THEN PRINT TAB(5);"NOT TOO BAD":GOTO 860
  73. 820 PRINT "    KIND OF ROUGH":GOTO 860
  74. 830 IF V2<30 THEN PRINT "  YOU CAN'T TAKE OFF":GOTO 860
  75. 840 IF V2<45 THEN PRINT "   YOU ARE INJURED":PRINT"THE LANDER IS ON FIRE":GOTO 860
  76. 850 PRINT "THERE ARE NO SURVIVORS"
  77. 860 PRINT "";TAB(2);"VELOCITY AT IMPACT"
  78. 870 PRINT "";TAB(5);INT(10*ABS(V2))/10;"KM/HR"
  79. 880 PRINT,,,,,,,,TAB(5);"ELAPSED TIME"
  80. 890 PRINT "";TAB(6);T1;"SECONDS"
  81. 900 PRINT "";TAB(4);"FUEL REMAINING"
  82. 910 PRINT "";TAB(7);N4;"KG"
  83. 920 GET NE$:IF NE$="" THEN 920
  84. 930 GOTO 210
  85.